package DAO;

//import models.AsignaturaDia;
import java.util.List;
import javax.persistence.Query;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;


public class AsignaturaDiaDao {

    protected EntityManager em;
//    AsignaturaDia ad = new AsignaturaDia();

//    public AsignaturaDia asociarAsignaturaDia(Integer idAsignatura, String nombreDia) {
//        EntityManagerFactory emf =
//                Persistence.createEntityManagerFactory("sischoolPU");
//        this.em = emf.createEntityManager();
//        ad.setIdAsignatura(idAsignatura);
//        ad.setNombreDia(nombreDia);
//        em.getTransaction().begin();
//        em.persist(ad);
//        em.getTransaction().commit();
//        em.close();
//        emf.close();
//        return ad;
//    }

    public int validarCreacion(Integer idAsignatura, String txt) {
        int ok = 0;
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("sischoolPU");
        this.em = emf.createEntityManager();
        Query q = em.createQuery("SELECT ad FROM AsignaturaDia ad WHERE ad.nombreDia='" + txt + "' AND ad.idAsignatura='" + idAsignatura + "'");
        if (q.getResultList().isEmpty() == true) {
            ok = 0;
        } else {
            ok = 1;
        }
        em.close();
        emf.close();
        return ok;
    }

//    public AsignaturaDia prueba(Integer idAsignatura, String txt) {
//        int ok = 0;
//        EntityManagerFactory emf =
//                Persistence.createEntityManagerFactory("sischoolPU");
//        this.em = emf.createEntityManager();
//        Query q = em.createQuery("SELECT ad FROM AsignaturaDia ad WHERE ad.nombreDia='" + txt + "' AND ad.idAsignatura='" + idAsignatura + "'");
//        if (q.getResultList().isEmpty() == true) {
//            ok = 0;
//        } else {
//            ad = (AsignaturaDia) q.getSingleResult();
//            ok = ad.getIdAsignatura();
//        }
//        em.close();
//        emf.close();
//        if (ok == 0) {
//            return null;
//        } else {
//            return ad;
//        }
//    }

//    public void desasociarAsignaturaDia(AsignaturaDia asigDia) {
//        EntityManagerFactory emf =
//                Persistence.createEntityManagerFactory("sischoolPU");
//        this.em = emf.createEntityManager();
//        //ah = em.find(AsignaturaHora.class, asigHora.getNombreHora());
//        String nombreDia = asigDia.getNombreDia();
//        Integer idAsignatura = asigDia.getIdAsignatura();
//        em.getTransaction().begin();
//        Query q = em.createQuery("SELECT ad FROM AsignaturaDia ad WHERE ad.nombreDia='" + nombreDia + "' AND ad.idAsignatura='" + idAsignatura + "'");
//        if (q.getResultList().isEmpty() == false) {
//            ad = (AsignaturaDia) q.getResultList().get(0);
//            Query a=em.createQuery("DELETE FROM AsignaturaDia ad WHERE ad.nombreDia='" + nombreDia + "' AND ad.idAsignatura='" + idAsignatura + "'");
//            a.executeUpdate();
//            em.getTransaction().commit();
//        }
//        em.close();
//        emf.close();
//    }
    
    public List consultarDiasAsociados(Integer idAsignatura) {
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("sischoolPU");
        this.em = emf.createEntityManager();
        Query query = em.createQuery("SELECT ad.nombreDia FROM AsignaturaDia ad WHERE ad.idAsignatura='" + idAsignatura + "'");
//        List<AsignaturaDia> lista = query.getResultList();
//        em.close();
//        emf.close();
//        return (lista);

        return  null;
    }

    public EntityManager getEm() {
        return em;
    }

    public void setEm(EntityManager em) {
        this.em = em;
    }

    public void persist(Object object) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("sischoolPU");
        EntityManager em1 = emf.createEntityManager();
        em1.getTransaction().begin();
        try {
            em1.persist(object);
            em1.getTransaction().commit();
        } catch (Exception e) {
            e.printStackTrace();
            em1.getTransaction().rollback();
        } finally {
            em1.close();
        }
    }
}
